#ifndef _FACTROY_H_
#define _FACTROY_H_

#include <iostream>

using namespace std;

class IProduct
{
public:
	virtual void ProductOperation() = 0;
};

class ProductA:public IProduct
{
public:
	void ProductOperation();
};

class ProductB:public IProduct
{
public:
	void ProductOperation();
};

//////////////////////////////
class IFactroy
{
public:
	virtual IProduct* CreateProduct() = 0;
};

class ProductAFactory:public IFactroy
{
public:
	IProduct* CreateProduct();
};

class ProductBFactory:public IFactroy
{
public:
	IProduct* CreateProduct();
};

#endif